/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ufps.cuatro.modelo.representacion;

import com.ufps.cuatro.modelo.analizador.ObjetoReflexion;
import com.ufps.cuatro.modelo.representacion.componente.ComponenteDistribuidorGenerador;
import java.io.Serializable;
import java.util.Observable;

/**
 *
 * @author Catc
 */
public class CustomObjetoReflexion extends Observable implements Serializable{
    private static final long serialVersionUID = -3689259157605448305L;
        
    public final static int REPRESENTACION_NINGUNA = 0;
    public final static int REPRESENTACION_TO_STRING = 1;
    public final static int REPRESENTACION_PANEL = 2;
    public final static int REPRESENTACION_CUSTOM_METHOD = 3;
    
    private int representacion = REPRESENTACION_NINGUNA;
    private ObjetoReflexion objMethodCustom;
    private ComponenteDistribuidorGenerador objComponenteDistribuidorGenerador;
    
    private boolean createPanel = false;

    public CustomObjetoReflexion() {
        this.representacion = REPRESENTACION_TO_STRING;
    }
    
    public CustomObjetoReflexion(ComponenteDistribuidorGenerador objComponenteDistribuidorGenerador) {
        this.objComponenteDistribuidorGenerador = objComponenteDistribuidorGenerador;
        this.representacion = REPRESENTACION_PANEL;
    }
    
    public CustomObjetoReflexion(ObjetoReflexion objMethodCustom) {
        this.objMethodCustom = objMethodCustom;
        this.representacion = REPRESENTACION_CUSTOM_METHOD;
    }

    public CustomObjetoReflexion(boolean createPanel) {        
        this.representacion = REPRESENTACION_PANEL;
    }

    public ObjetoReflexion getObjMethodCustom() {
        return objMethodCustom;
    }

    public void setObjMethodCustom(ObjetoReflexion objMethodCustom) {
        this.objMethodCustom = objMethodCustom;
    }

    public int getRepresentacion() {
        return representacion;
    }

    public void setRepresentacion(int representacion) {
        this.representacion = representacion;
    }

    public ComponenteDistribuidorGenerador getObjComponenteDistribuidorGenerador() {
        return objComponenteDistribuidorGenerador;
    }

    public void setObjComponenteDistribuidorGenerador(ComponenteDistribuidorGenerador objComponenteDistribuidorGenerador) {
        this.objComponenteDistribuidorGenerador = objComponenteDistribuidorGenerador;
    }

    public boolean isCreatePanel() {
        return createPanel;
    }

    public void setCreatePanel(boolean createPanel) {
        this.createPanel = createPanel;
    }
    
    

    @Override
    public String toString() {
        return "CustomObjetoReflexion{" + "representacion=" + representacion;
    }    
}
